import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import TlbsMap from 'tlbs-map-vue'

// 导入腾讯地图组件库中的具体组件，用于全局注册
import { BaseMap, MultiMarker, InfoWindow } from 'tlbs-map-vue'

console.log('=== 前端应用初始化开始 ===')
console.log('路由对象:', router)
console.log('路由配置:', router.getRoutes())

// 获取CSRF Token的函数
async function initializeCSRFToken() {
  try {
    console.log('开始初始化CSRF Token...')
    // 向Django后端发起GET请求获取CSRF token
    const response = await fetch('/admin/', {
      method: 'GET',
      credentials: 'include'
    })
    console.log('CSRF Token 初始化成功', response.status)
  } catch (error) {
    console.log('CSRF Token 初始化失败:', error)
  }
}

// 初始化CSRF Token
initializeCSRFToken()

// 创建应用实例
const app = createApp(App)
console.log('应用实例已创建')

// 使用路由
app.use(router)
console.log('路由已安装')

// 全局注册腾讯地图组件库（官方标准方式，无需引入CSS）
app.use(TlbsMap)
console.log('腾讯地图组件库已全局注册')

// ✅ 全局注册腾讯地图具体组件：BaseMap、MultiMarker、InfoWindow
app.component('BaseMap', BaseMap)
app.component('MultiMarker', MultiMarker)
app.component('InfoWindow', InfoWindow)
console.log('腾讯地图具体组件（BaseMap、MultiMarker、InfoWindow）已全局注册')

// 挂载应用
app.mount('#app')
console.log('应用已挂载到#app')
console.log('=== 前端应用初始化完成 ===')